package com.xpec.c4.persistence;

import java.util.HashMap;

/**
 * 持久化分析器接口
 * 
 * @author Magmaster
 * 
 */
public interface IParser
{
	/**
	 * 把给定的对象转换为持久化数据
	 * 
	 * @param src
	 *            待转换对象
	 * @param context
	 *            上下文环境
	 * @return 持久化数据
	 */
	public Object build(Object src, HashMap<String, Object> context);

	/**
	 * 把给定的数据转化为对象
	 * 
	 * @param objToFillIn
	 *            待填充对象，如果不为null，则会将数据填充到objToFillIn中
	 * @param data
	 *            持久化数据
	 * @param context
	 *            上下文环境
	 * @return 根据持久化数据生成的对象
	 */
	public Object parse(Object objToFillIn, Object data, HashMap<String, Object> context);
}
